package com.procurement.inquiry.mapper;

import java.util.List;

import com.procurement.inquiry.domain.Chuanzhi;
import com.procurement.inquiry.domain.PcmInquiryForm;
import com.procurement.inquiry.domain.PcmInquiryDemand;
import com.procurement.inquiry.domain.PcmSupplier;
import com.ruoyi.system.api.domain.PcmAudit;
import com.ruoyi.system.api.domain.PcmSupplierQuotation;
import io.lettuce.core.dynamic.annotation.Param;

/**
 * 询价单Mapper接口
 * 
 * @author ruoyi
 * @date 2023-11-28
 */
public interface PcmInquiryFormMapper 
{
    /**
     * 查询询价单
     * 
     * @param inquiryId 询价单主键
     * @return 询价单
     */
    public List<PcmSupplier> selectPcmInquiryFormByInquiryId(@Param("supplierFullName") String supplierFullName);

    /**
     * 查询询价单列表
     * 
     * @return 询价单集合
     */
    public List<PcmInquiryDemand> selectPcmInquiryFormList( String inquiryDemandNumber);

    /**
     * 新增询价单
     * 
     * @param pcmInquiryForm 询价单
     * @return 结果
     */
    public int insertPcmInquiryForm(PcmInquiryForm pcmInquiryForm);
    public int insertPcmAudit(PcmAudit pcmAudit);

    /**
     * 修改询价单
     * 
     * @param pcmInquiryForm 询价单
     * @return 结果
     */
    public int updatePcmInquiryForm(PcmInquiryForm pcmInquiryForm);

    /**
     * 删除询价单
     * 
     * @param inquiryId 询价单主键
     * @return 结果
     */
    public int deletePcmInquiryFormByInquiryId(Long inquiryId);

    /**
     * 批量删除询价单
     * 
     * @param inquiryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePcmInquiryFormByInquiryIds(Long[] inquiryIds);

    /**
     * 批量删除询报价需求
     * 
     * @param inquiryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePcmInquiryDemandByInquiryDemandNumbers(Long[] inquiryIds);
    
    /**
     * 批量新增询报价需求
     * 
     * @param pcmInquiryDemandList 询报价需求列表
     * @return 结果
     */
    public int batchPcmInquiryDemand(List<PcmInquiryDemand> pcmInquiryDemandList);
    

    /**
     * 通过询价单主键删除询报价需求信息
     * 
     * @param inquiryId 询价单ID
     * @return 结果
     */
    public int deletePcmInquiryDemandByInquiryDemandNumber(Long inquiryId);
    public int insertPcmSupplierQuotation(PcmSupplierQuotation pcmSupplierQuotation);
    public PcmSupplierQuotation selectSupplierQuotation();

    public int updatePcmApploicationDemand(@Param("inquiryDemandNumber") String inquiryDemandNumber);
}
